#ifndef _QUEUE_H_
#define _QUEUE_H_

#include <stdbool.h>

#define MAX_QUEUE 10

typedef struct _item{
    char name[32];
    unsigned int arrive;
}Item;

typedef struct node{
    Item item;
    struct node *next;
}Node;

typedef struct _queue{
    Node *front; /*指向队列首的指针*/
    Node *rear; /*指向队列尾的指针*/
    int items;  /*队列中项目的个数*/
}Queue;

//初始化队列
void InitQueue(Queue *q);

//判断队列是否满
bool QueueIsFull(Queue *q);

//判断队列空
bool QueueIsEmpty(Queue *q);

//统计个数
int QueueItems(Queue *q);

//向队尾添加项目
bool QueueAdd(Queue *q, Item item);


//从队首删除项目
bool QueueDelete(Queue *q, Item *pitem);

//清空队列
void QueueEmpty(Queue *q);


#endif